package com.doubao.hardware.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.doubao.hardware.model.DeviceConfig;
import lombok.Data;
import java.time.LocalDateTime;

/**
 * 设备配置实体类
 * 用于将设备配置信息持久化到数据库
 */
@Data
@TableName(value = "device_config", autoResultMap = true)
public class DeviceConfigEntity {

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 设备ID
     */
    private String deviceId;

    /**
     * 设备配置JSON
     * 使用JacksonTypeHandler处理JSON类型
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private DeviceConfig config;

    /**
     * 设备状态 1:在线 0:离线
     */
    private Integer status;

    /**
     * 最后更新时间
     */
    private LocalDateTime lastUpdateTime;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;
}